// 导入axios库和element-ui的Message组件
import axios from "axios";
import { Message } from "element-ui";

// 创建一个axios实例，设置基础URL
const request = axios.create({
    baseURL: "http://localhost:8020/"
})

// 为axios实例添加响应拦截器
request.interceptors.response.use(
    // 处理成功响应
    success => {
        // 解构响应数据中的code和mes字段
        let { code, mes } = success.data
        // 根据响应码处理结果
        if (code == 200) {
            // 如果有消息，则显示成功消息
            if (mes)
                Message.success(mes)
        } else {
            // 如果响应码不是200，则显示错误消息
            Message.error(mes)
        }
        // 返回响应数据
        return success.data
    },
    // 处理错误响应
    error => {
        // 解构错误信息和错误码
        let { message, code } = error
        // 根据错误码处理网络错误
        if (code == 'ERR_NETWORK') {
            // 显示网络错误消息
            Message({
                type: 'error',
                message: "网络❌,请检查网络!连接",
                duration: 500
            })
        } else {
            // 显示其他错误消息
            Message({
                type: 'error',
                message,
                duration: 500
            })
        }
        // 返回错误对象
        return error
    }
);

// 导出axios实例
export default request;